/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * E.P. Scene Graph
 * Developed by:
 *       - Eduardo Ribeiro (eribeiro @ tecgraf . puc-rio . br)
 *       - Peter Dam (peter @ tecgraf . puc-rio . br)
 * File: Node.h
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#ifndef _EPSG_NODE_
#define _EPSG_NODE_

#include "EPSG/Prototypes.h"
#include <string>

namespace EPSG
{
	class Node
	{
	public:
		/* [CONSTRUCTOR] */	Node();

		virtual void		setupCamera();
		virtual void		setupLights();
		virtual void		render();

		virtual EPSG::Node*	setParent( EPSG::Group* parent );
		virtual EPSG::Node*	getParent();

		virtual void		setName( std::string name );
		virtual std::string	getName();

		virtual std::string getType();

		virtual void		print();

	protected:
		EPSG::Node*			_parent;
		std::string			_name;
	};
}

#endif //_EPSG_NODE_